package licode.unisop.realm.client.api;

import licode.unisop.provider.vo.SiPageResult;
import licode.unisop.realm.client.dto.SiRealmDTO;
import licode.unisop.realm.client.info.SiPlatformOfRealmQueryIn;
import licode.unisop.realm.client.info.SiRealmGrantPlatformIn;
import licode.unisop.realm.client.info.SiRealmOfPlatformQueryIn;
import licode.unisop.realm.client.info.SiRealmQueryPageIn;

import java.util.List;

/**
 * 定义用户领域查询接口
 *
 * @author licode
 */
public interface SiRealmQueryService {
    /**
     * 查询领域列表
     * @return 领域列表
     */
    List<SiRealmDTO> getRealmList();

    /**
     * 根据领域ID查询领域信息
     * @param realmId 域ID
     * @return 领域信息
     */
    SiRealmDTO findRealm(String realmId);
    int realmGrantToPlatform(SiRealmGrantPlatformIn req);

    List<String> queryPlatformOfRealmList(SiPlatformOfRealmQueryIn req);
    List<SiRealmDTO> queryRealOfPlatformList(SiRealmOfPlatformQueryIn req);
    SiPageResult<SiRealmDTO> queryRealmPage(SiRealmQueryPageIn req);
}
